iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
2

INSERT 新增

將資料新增至資料庫中,在SQL語法中新增資料除了使用insert還需加上into,所以會是insert into ,然後後面通常還會加一個values,所以當要新增資料時基本上會insert into values 的,不過有種情形會不需要加上values的,下面會說明。

使用方式

在VALUES內,若是要新增字串則需將內容用單引號'包住,數值則不用,如下:

INSERT INTO 資料表名稱
              (欄位1, 欄位2, 欄位3,...)
VALUES  (新增至欄位1的數值資料, N'新增進欄位2的字串資料', N'新增進欄位3的字串資料',...)

範例

想要在Customers資料表中加入新的資料。

INSERT INTO Customers
              (name, tel, address)
VALUES  (N'olympus', 333, 'Japan')

資料前面之所以有N是因為Unicode的關係(在這篇有做nvarchar的介紹),當然也可以不打N,而因為在創立資料表時就有設定會自動新增id和initDate,所以只需要手動加入name, tel, address欄位,執行後結果真的有加入olympus的資料進客戶資料表,而系統自動新增了id=6。

https://ithelp.ithome.com.tw/upload/images/20190924/20119925Hfr23Ka2d2.png

SQL Server使用精靈新增資料

首先選好要新增的資料庫,然後再新增查詢空白處,右鍵選編輯器中新增查詢。

https://ithelp.ithome.com.tw/upload/images/20190924/20119925TXJStksU9P.png

選好要新增的資料表後,在查詢設計工具的視窗空白處右鍵變更類型然後選擇插入值,插入值就是新增資料的意思。

https://ithelp.ithome.com.tw/upload/images/20190924/20119925k5Ji326n4w.png

接下來就勾選想新增的欄位,並在下方新值中打上想要新增的資料內容,在正下方就會自動出現新增資料的SQL語法了。

https://ithelp.ithome.com.tw/upload/images/20190924/20119925TabbuKvPI9.png

接下來'確定'後再按'執行'就可以加入資料了。

https://ithelp.ithome.com.tw/upload/images/20190924/20119925osdNN5IuEH.png

使用精靈取得SQL語法真的超方便der>///<

使用子查詢的方式新增資料

新增資料除了加入新的資料外,也可以新增現有的資料,也就是其他資料表(或本身的資料表)若剛好有需要的資料,也可以從該資料表中取得,這種時候就不需要VALUES了。

就以Customers資料表跟Products資料表為範例:

Customers資料表

https://ithelp.ithome.com.tw/upload/images/20190924/20119925ZoV96NaCKU.png

除了賣零食也賣起了canon的Products資料表 XDD

https://ithelp.ithome.com.tw/upload/images/20190924/20119925koWv8BHEPB.png

現在要新增資料進Customers資料表內,name是canon,就是那麼剛好Products資料表有canon這筆資料,tel剛好是30000,雖然沒有地址資料但至少可以新增兩筆。所以SQL語法如下:

INSERT INTO Customers
              (name, tel)
select name,price from Products where id=6 

上述使用一個select子查詢,找出來自Products資料表內的name和price的資料(注意要對應()內的順序),條件是id=6的資料(也就是Products的canon那列資料行)。找出後加入CUstomers資料表的name和tel也就是()內的資料。結果如下:

id=8有一筆canon的客戶資料了,雖然沒有address的資料,但name和tel都有從產品資料表加入資料了。(id=8是因為我有刪除一筆id=7的資料><)
https://ithelp.ithome.com.tw/upload/images/20190924/20119925Nu0EZxv5Cx.png

這就是使用子查詢的方式將資料表的資料加入需要加入的資料表內的方法,好像有點饒舌XD


上一篇
[iT鐵人賽Day22]可以做好多事情的SQL子查詢
下一篇
[iT鐵人賽Day24]SQL-UPDATE 修改資料的方法
系列文
淺談資料庫&ASP.net&C# 入門36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言